import UIKit

//
@available(iOS 6.0, *)
extension QKC where AA :UICollectionViewController {
    open func collectionView_qk_s(_ collectionView:  UICollectionView) -> QKC<AA,YY,ZZ, UICollectionView>{
		return link(next: collectionView).then_QK { $0.value.collectionView = collectionView }
	}
    open func collectionView_qk_g() -> QKC<AA,YY,ZZ, UICollectionView>{
        self +^ self.value.collectionView!
	}

	// This property has no effect if the useLayoutToLayoutNavigationTransitions property is set to YES
    open func clearsSelectionOnViewWillAppear_qk_s(_ clearsSelectionOnViewWillAppear:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: clearsSelectionOnViewWillAppear).then_QK { $0.value.clearsSelectionOnViewWillAppear = clearsSelectionOnViewWillAppear }
	}
    open func clearsSelectionOnViewWillAppear_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.clearsSelectionOnViewWillAppear
	}

	// has already been pushed onto a UINavigationController.
    @available(iOS 7.0, *)
    open func useLayoutToLayoutNavigationTransitions_qk_s(_ useLayoutToLayoutNavigationTransitions:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: useLayoutToLayoutNavigationTransitions).then_QK { $0.value.useLayoutToLayoutNavigationTransitions = useLayoutToLayoutNavigationTransitions }
	}
    @available(iOS 7.0, *)
    open func useLayoutToLayoutNavigationTransitions_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.useLayoutToLayoutNavigationTransitions
	}

	// The layout object is needed when defining interactive layout to layout transitions.
    @available(iOS 7.0, *)
    open func collectionViewLayout_qk_g() -> QKC<AA,YY,ZZ, UICollectionViewLayout >{
		 self +^ self.value.collectionViewLayout
	}

	// Defaults to YES, and if YES, a system standard reordering gesture is used to drive collection view reordering
    @available(iOS 9.0, *)
    open func installsStandardGestureForInteractiveMovement_qk_s(_ installsStandardGestureForInteractiveMovement:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: installsStandardGestureForInteractiveMovement).then_QK { $0.value.installsStandardGestureForInteractiveMovement = installsStandardGestureForInteractiveMovement }
	}
    @available(iOS 9.0, *)
    open func installsStandardGestureForInteractiveMovement_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.installsStandardGestureForInteractiveMovement
	}

}

